import { createApp } from 'vue'  // 添加createApp导入
import App from './App.vue'
import router from './router'
// 导入Vant组件库
import Vant from 'vant'
import 'vant/lib/index.css'

const app = createApp(App)
app.use(router)
// 注册Vant组件库
app.use(Vant)
app.mount('#app')

// WebSocket连接
const socket = new WebSocket('ws://localhost:8080/ws')

socket.onopen = () => {
    console.log('WebSocket连接已建立')
    // 发送用户认证信息
    const userInfo = localStorage.getItem('userInfo')
    if (userInfo) {
        socket.send(JSON.stringify({
            type: 'auth',
            data: JSON.parse(userInfo)
        }))
    }
}

socket.onmessage = (event) => {
    const message = JSON.parse(event.data)
    // 处理不同类型的消息
    switch (message.type) {
        case 'notification':
            // 触发通知事件
            app.config.globalProperties.$emit('new-notification', message.data)
            break
        // 其他消息类型处理...
    }
}

socket.onclose = () => {
    console.log('WebSocket连接已关闭')
    // 可以实现重连机制
    setTimeout(() => {
        // 重新连接
    }, 3000)
}

socket.onerror = (error) => {
    console.error('WebSocket错误:', error)
}

// 将socket添加到全局属性中，方便组件访问
app.config.globalProperties.$socket = socket



